/**
 * 
 */
package com.intelap.fabricaciones;

import javax.enterprise.inject.spi.BeanManager;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**Dado que el comportamiente del {@link BeanManager} obtenido mediante JNDI depende desde donde se lo obtenga, es necesario que cada usuario tenga su propia referencia. Por eso esta clase esta pensada para ser extendida en lugar de referenciada. 
 * @author ggpollit */
public abstract class UsaBeanManager {

	private BeanManager beanManager = null;
	protected BeanManager getBeanManager() {
		if (beanManager == null) {
			try {
				beanManager = InitialContext.doLookup("java:comp/BeanManager");
			} catch (NamingException e) {
				throw new RuntimeException("Error al intentar obtener el BeanManager desde " + this.getClass().getName() + " : ", e);
			}
		}
		return beanManager;
	}
}
